<?php
class FootpanelHelper extends AppHelper {
	public $helpers = array ('Html','Javascript','Session');
	private $style = "

		#footpanel {
			position: fixed;
			bottom: 0; left: 0;
			z-index: 9999; /*--Keeps the panel on top of all other elements--*/
			background: #e3e2e2;
			border: 1px solid #c3c3c3;
			border-bottom: none;
			width: 94%;
			margin: 0 3%;
		}
		
		*html #footpanel { /*--IE6 Hack - Fixed Positioning to the Bottom--*/
			margin-top: -1px; /*--prevents IE6 from having an infinity scroll bar - due to 1px border on #footpanel--*/
			position: absolute;
			top:expression(eval(document.compatMode &&document.compatMode=='CSS1Compat') ?documentElement.scrollTop+(documentElement.clientHeight-this.clientHeight) : document.body.scrollTop +(document.body.clientHeight-this.clientHeight));
		}
		
		#footpanel ul {
			padding: 0; margin: 0;
			float: left;
			width: 100%;
			list-style: none;
			border-top: 1px solid #fff; /*--Gives the bevel feel on the panel--*/
			font-size: 1.1em;
		}
		#footpanel ul li{
			padding: 0; margin: 0;
			float: left;
			position: relative;
		}
		#footpanel ul li a{
			padding: 7px 5px 5px 5px;
			float: left;
			text-indent: -9999px;
			height: 16px; width: 16px;
			text-decoration: none;
			color: #333;
			position: relative;
			font-size: 0.8em;
		}
		html #footpanel ul li a:hover{	background-color: #fff; }
		html #footpanel ul li a.active { /*--Active state when subpanel is open--*/
			background-color: #fff;
			height: 17px;
			margin-top: -2px; /*--Push it up 2px to attach the active button to subpanel--*/
			border: 1px solid #555;
			border-top: none;
			z-index: 200; /*--Keeps the active area on top of the subpanel--*/
			position: relative;
		}
		
		#footpanel a{	
			background-attachment: scroll;
			background-clip: border-box;
			background-color: transparent;			
			background-origin: padding-box;
			background-position: 50% 50%;
			background-repeat: no-repeat;
			background-size: auto;
			text-indent: 0; /*--Reset text indent--*/
		}
				
		#footpanel a.home{	
			background-attachment: scroll;
			background-clip: border-box;
			background-color: transparent;
			background-image: url(/img/firma/home.png);
			background-origin: padding-box;
			background-position: 15px 50%;
			background-repeat: no-repeat;
			background-size: auto;
			background: url(/img/firma/home.png) no-repeat 15px center;
			width: 50px;
			padding-left: 40px;
			border-right: 1px solid #bbb;
			text-indent: 0; /*--Reset text indent--*/
		}

		#footpanel a.separator{	
			background-attachment: scroll;
			background-clip: border-box;
			background-color: transparent;
			background-image: none;
			background-origin: padding-box;
			background-repeat: no-repeat;
			background-size: auto;
			background: none;
			width: 10px;
			padding-left: 10px;
			border-right: 1px solid #bbb;
			text-indent: 0; /*--Reset text indent--*/
		}
		
		a.profile{	background: url(user.png) no-repeat center center;  }
		a.contacts{	background: url(address_book.png) no-repeat center center; }
		a.playlist{	background: url(document_music_playlist.png) no-repeat center center; }
		a.videos{	background: url(film.png) no-repeat center center; }
		a.messages{	background: url(mail.png) no-repeat center center; }
		a.editprofile{	background: url(wrench_screwdriver.png) no-repeat center center; }
		
		
		#footpanel a.chat{	
			background: url(balloon.png) no-repeat 15px center;
			width: 126px;
			border-left: 1px solid #bbb;
			border-right: 1px solid #bbb;
			padding-left: 40px;
			text-indent: 0; /*--Reset text indent--*/
		}
		a.alerts{  }
		
		#footpanel li#chatpanel, #footpanel li#alertpanel {	float: right; }  /*--Right align the chat and alert panels--*/
		
		#footpanel a small {  /*--panel tool tip styles--*/
			text-align: center;
			width: 70px;
			background: url(/img/firma/pop_arrow.gif) no-repeat center bottom;
			padding: 5px 5px 11px;
			display: none; /*--Hide by default--*/
			color: #fff;
			font-size: 0.7em;
			text-indent: 0;
		}
		#footpanel a:hover small{
			display: block; /*--Show on hover--*/
			position: absolute;
			top: -35px; /*--Position tooltip 35px above the list item--*/
			left: 50%; 
			margin-left: -40px; /*--Center the tooltip--*/
			z-index: 9999;
		}
		
		
		
		
		
		#footpanel ul li div a { /*--Reset link style for subpanel links--*/
			text-indent: 0;
			width: auto;
			height: auto;
			padding: 0;
			float: none;
			color: #00629a;
			position: static;
		}
		#footpanel ul li div a:hover {	text-decoration: underline; } /*--Reset link style for subpanel links--*/
		
		#footpanel .subpanel {
			position: absolute;
			left: 0; bottom: 27px;
			display: none;	/*--Hide by default--*/
			width: 198px;
			border: 1px solid #555;
			background: #fff;
			overflow: hidden;
			padding-bottom: 2px;
		}
		#footpanel h3 {
			background: #526ea6;
			padding: 5px 10px;
			color: #fff;
			font-size: 1.1em;
			cursor: pointer;
		}
		#footpanel h3 span { 
			font-size: 1.5em;
			float: right;
			line-height: 0.6em;	
			font-weight: normal;
		}
		#footpanel .subpanel ul{
			padding: 0; margin: 0;
			background: #fff;
			width: 100%;
			overflow: auto;
		}
		#footpanel .subpanel li{ 
			float: none; /*--Reset float--*/
			display: block;
			padding: 0; margin: 0;
			overflow: hidden;
			clear: both;
			background: #fff;
			position: static;  /*--Reset relative positioning--*/
			font-size: 0.9em;
		}
		
		#chatpanel .subpanel li { background: url(dash.gif) repeat-x left center; } 
		#chatpanel .subpanel li span {
			padding: 5px;
			background: #fff;
			color: #777;
			float: left;
		}
		#chatpanel .subpanel li a img {
			float: left;
			margin: 0 5px;
		}
		#chatpanel .subpanel li a{
			padding: 3px 0;	margin: 0;
			line-height: 22px;
			height: 22px;
			background: #fff;
			display: block;
		}
		#chatpanel .subpanel li a:hover {
			background: #3b5998;
			color: #fff;
			text-decoration: none;
		}
		
		
		#alertpanel .subpanel { right: 0; left: auto; /*--Reset left positioning and make it right positioned--*/ }
		#alertpanel .subpanel li {
			border-top: 1px solid #f0f0f0;
			display: block;
		}
		#alertpanel .subpanel li p {padding: 5px 10px;}
		#alertpanel .subpanel li a.delete{
			background: url(delete_x.gif) no-repeat;
			float: right;
			width: 13px; height: 14px;
			margin: 5px;
			text-indent: -9999px;
			visibility: hidden; /*--Hides by default but still takes up space (not completely gone like display:none;)--*/
		}
		#alertpanel .subpanel li a.delete:hover { background-position: left bottom; }
		#footpanel #alertpanel li.view {
			text-align: right;
			padding: 5px 10px 5px 0;
		}
		
	";
	
	private $script = "
		$(document).ready(function(){
		
			//Adjust panel height
			$.fn.adjustPanel = function(){ 
				$(this).find('ul, .subpanel').css({ 'height' : 'auto'}); //Reset subpanel and ul height
				
				var windowHeight = $(window).height(); //Get the height of the browser viewport
				var panelsub = $(this).find('.subpanel').height(); //Get the height of subpanel	
				var panelAdjust = windowHeight - 100; //Viewport height - 100px (Sets max height of subpanel)
				var ulAdjust =  panelAdjust - 25; //Calculate ul size after adjusting sub-panel (27px is the height of the base panel)
				
				if ( panelsub >= panelAdjust ) {	 //If subpanel is taller than max height...
					$(this).find('.subpanel').css({ 'height' : panelAdjust }); //Adjust subpanel to max height
					$(this).find('ul').css({ 'height' : ulAdjust}); //Adjust subpanel ul to new size
				}
				else if ( panelsub < panelAdjust ) { //If subpanel is smaller than max height...
					$(this).find('ul').css({ 'height' : 'auto'}); //Set subpanel ul to auto (default size)
				}
			};
			
			//Execute function on load
			$('#chatpanel').adjustPanel(); //Run the adjustPanel function on #chatpanel
			$('#alertpanel').adjustPanel(); //Run the adjustPanel function on #alertpanel
			
			//Each time the viewport is adjusted/resized, execute the function
			$(window).resize(function () { 
				$('#chatpanel').adjustPanel();
				$('#alertpanel').adjustPanel();
			});
			
			//Click event on Chat Panel + Alert Panel	
			$('#chatpanel a:first, #alertpanel a:first').click(function() { //If clicked on the first link of #chatpanel and #alertpanel...
				if($(this).next('.subpanel').is(':visible')){ //If subpanel is already active...
					$(this).next('.subpanel').hide(); //Hide active subpanel
					$('#footpanel li a').removeClass('active'); //Remove active class on the subpanel trigger
				}
				else { //if subpanel is not active...
					$('.subpanel').hide(); //Hide all subpanels
					$(this).next('.subpanel').toggle(); //Toggle the subpanel to make active
					$('#footpanel li a').removeClass('active'); //Remove active class on all subpanel trigger
					$(this).toggleClass('active'); //Toggle the active class on the subpanel trigger
				}
				return false; //Prevent browser jump to link anchor
			});
			
			//Click event outside of subpanel
			$(document).click(function() { //Click anywhere and...
				$('.subpanel').hide(); //hide subpanel
				$('#footpanel li a').removeClass('active'); //remove active class on subpanel trigger
			});
			$('.subpanel ul').click(function(e) { 
				e.stopPropagation(); //Prevents the subpanel ul from closing on click
			});
			
			//Delete icons on Alert Panel
			$('#alertpanel li').hover(function() {
				$(this).find('a.delete').css({'visibility': 'visible'}); //Show delete icon on hover
			},function() {
				$(this).find('a.delete').css({'visibility': 'hidden'}); //Hide delete icon on hover out
			});		
			
		});	
	";
	
	function install(){
		$this->Html->styleBlock("{$this->style}",array('inline'=>false));
		$this->Javascript->codeBlock( $this->script."\n",$options = array('allowCache'=>false,'safe'=>false,'inline'=>false));
	}
}